﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;

namespace ZOVNP.Model.Abstracts
{
    /// <summary>
    /// Интерфейс для объекта модели "Заказ".
    /// </summary>
    [Description("Заказ")]
    [Identity("Order")]
    public interface IOrder : IDomainObject
    {
        Guid UserID { get; }
        Guid CustomerID { get; }

        IDomainReference<IUser> UserReference { get; }
        IDomainReference<ICustomer> CustomerReference { get; }

        [System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
        IUser User { get; set; }
        [System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
        ICustomer Customer { get; set; }

        string Number { get; set; }
        DateTime CreationDate { get; set; }
        Nullable<DateTime> DeliveryDate { get; set; }
        string Description { get; set; }

        IDomainCollection<IOrderPart> OrderParts { get; }
    }
}
